$(function(){
    var imgEdit   = $('img.edit');
    var imgDelete = $('img.delete');
    var btnNew    = $('#btnNew');
    var btnSave   = $('#btnSave');
    var btnUpdate = $('#btnUpdate'); //no caso o update que fiz..
    var btnCancel = $('#btnCancel');
    
    $('input:first').focus();
    
    btnNew.click(function(){
       App.pageRedirect('usuario.jsp'); 
    });
    
    imgEdit.live('click', function()
    {
        var id_usuario = $(this).attr('rel');
        
        App.pageRedirect('usuario.jsp?id_usuario=' +id_usuario);
    });
    
    imgDelete.live('click', function()
    {
        var id_usuario = $(this).attr('rel');
        
        if (!confirm('Deseja realmente excluir o cadastro nº ' +id_usuario+ ' ?')) 
            return;
               
        jQuery.ajax({
            cache      : false,
            dataType   : 'json',
            type       : 'post',
            url        : 'usuario_controller.jsp',
            data       : {
                'id_usuario' : id_usuario,
                'action'     : 'delete' 
            }, 		  
            beforeSend : function(xhr) {		
                //TODO
            },		   
            complete   : function(xhr) {
                //TODO
            },
            error      : function(xhr) {
                //TODO
            },
            success    : function(data) {
                if (data.error === true) 
                {
                    alert(data.message);
                }
                else if (data.error === false) 
                {
                    alert(data.message);
                    App.pageRefresh();
                }
                else 
                {
                    alert('Ocorreu um erro ao executar');					
                }
            }
        });
    });
    
    btnSave.click(function()
    {       
        if ($('#formUsuario').valid())
            App.formSave('#formUsuario', 'App.pageRedirect("usuario_lista.jsp")');
    }); 
    
    btnUpdate.click(function()
    {       
        if ($('#formUsuario').valid())
            App.formUpdate('#formUsuario', 'App.pageRedirect("usuario_lista.jsp")');
    });
    
    btnCancel.click(function()
    {       
        App.pageRedirect('usuario_lista.jsp');
    });    
    
    $('#formUsuario').validate({
        rules: {
            nome: {
                required: true,
                minlength: 2
            },
            email: {
                required: true,
                email: true
            },
            senha: {
                required: true,
                minlength: 5
            }
        },
        messages: {
            nome: {
                required: "Informe o nome.",
                minlength: " Informe um nome com no m&iacute;nimo 2 caracteres."
            },
            email: {
                required: " Informe o email.",
                email: " Informe um email v&aacute;lido."
            },
            senha: {
                required: " Informe a senha.",
                minlength: " Informe uma senha com no m&iacute;nimo 5 caracteres."
            }
        }
    });    
});